package com.zhijian.warehouse.manage.entity.vo.request;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author HCG
 * @version 1.0
 * @date 2023-11-07
 */
@Data
@Api(tags = "实验工单查询类")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExpWorkOrderSearchVo implements Serializable {

    private static final long serialVersionUID = 7857413858755171667L;

    /**
     * 页码
     */
    @ApiModelProperty("页码")
    @Min(value = 1, message = "页码不能小于1|pageNum can't less than 1")
    private Integer pageNum;

    /**
     * 数据库查询参数，前端忽略
     */
    @ApiModelProperty(value = "页码", hidden = true)
    private Integer startIndex;

    /**
     * 条数
     */
    @ApiModelProperty("每页显示的条数")
    @Min(value = 2, message = "每页显示的条数不能小于2|pageSize can't less than 2")
    private Integer pageSize;

    /**
     * 工单编号，指令单单号
     */
    @ApiModelProperty("工单编号，指令单单号")
    private String number;

    /**
     * 工单编号精确
     */
    @ApiModelProperty("工单编号精确")
    private String numberAccurate;

    /**
     * 工单编号数组
     */
    @ApiModelProperty("工单编号数组")
    private List<String> numberList;

    /**
     * 生产批号
     */
    @ApiModelProperty("生产批号")
    private String produceBatchNumber;

    /**
     * 制单人员ID
     */
    @ApiModelProperty("制单人员ID")
    private Long startUserId;

    /**
     * 制单人员名称
     */
    @ApiModelProperty("制单人员名称")
    private String startUserName;

    /**
     * 班级ID
     */
    @ApiModelProperty("班级ID")
    private Long classId;

    /**
     * 小组ID
     */
    @ApiModelProperty("小组ID")
    private Long groupId;

    /**
     * 品名
     */
    @ApiModelProperty("品名")
    private String productName;

    /**
     * 规格
     */
    @ApiModelProperty("规格")
    private String productSpecifications;

    /**
     * 开始时间，格式为'2023-11-11 11:11:11'
     */
    @ApiModelProperty("开始时间，格式为'2023-11-11 11:11:11'")
    private String startTime;

    /**
     * 结束时间，格式为'2023-11-11 11:11:11'
     */
    @ApiModelProperty("结束时间，格式为'2023-11-11 11:11:11'")
    private String endTime;

    /**
     * 开始时间
     */
    @ApiModelProperty("开始时间")
    private Date startTimeDate;

    /**
     * 结束时间
     */
    @ApiModelProperty("结束时间")
    private Date endTimeDate;

    /**
     * 状态，1：启用，0：关闭
     */
    @ApiModelProperty("状态，1：启用，0：关闭")
    private Integer status;

    /**
     * 工单类型，1：制粒干燥，2：粉碎过筛，3：配料称重，4：压片生产，5：整粒总混
     */
    @ApiModelProperty("工单类型，1：制粒干燥，2：粉碎过筛，3：配料称重，4：压片生产，5：整粒总混")
    private Integer stepType;

}
